Thực thi Traceroute

Traceroute sẽ gửi một chuỗi các Internet Message Control Protocol (ICMP) echo gói yêu cầu gửi đến một máy chủ đích. Xác định các bộ định tuyến trung gian đi qua liên quan đến việc điều chỉnh thời gian sống (TTL), giới hạn các chặng (hop aka), tham số Internet Protocol. Thông thường bắt đầu với một giá trị như 128 (Windows) hoặc 64 (Linux), thiết bị định tuyến giảm giá trị này và loại bỏ một gói khi giá trị TTL đã đạt đến số không, trả về thông báo lỗi ICMP Time Exceeded.

Traceroute hoạt động bằng cách tăng giá trị TTL của mỗi bộ kế tiếp của gói tin gửi đi. Những tập đầu tiên của các gói tin gửi có giá trị giới hạn chặng là 1, với hy vọng rằng chúng không được chuyển tiếp bởi router đầu tiên. Tập tiếp theo có một giá trị giới hạn hop của 2, để các router thứ hai sẽ gửi trả lời lỗi. Điều này tiếp tục cho đến khi các máy chủ đích nhận được các gói dữ liệu và trả về một thông báo ICMP Echo Reply.

Traceroute sử dụng các thông điệp ICMP trở lại để tạo ra một danh sách các thiết bị định tuyến được rằng các gói đã đi qua. Các giá trị dấu thời gian trả lại cho mỗi router dọc theo tuyến là giá trị chậm trễ (aka latency), thường được đo bằng mili giây cho mỗi gói tin.

Hop 192.168.1.2 Depth 1    Probe status: unsuccessful    Parent: ()    Return code: Label-switched at stack-depth 1    Sender timestamp: 2008-04-17 09:35:27 EDT 400.88 msec    Receiver timestamp: 2008-04-17 09:35:27 EDT 427.87 msec    Response time: 26.92 msec    MTU: Unknown    Multipath type: IP      Address Range 1: 127.0.0.64 ~ 127.0.0.127    Label Stack:      Label 1 Value 299792 Protocol RSVP-TE

Các máy chủ gốc mong đợi một phản hồi trong vòng số giây quy định. Nếu một gói không được thừa nhận trong thời gian chờ dự kiến, dấu hoa thị (*) được hiển thị. Các máy chủ được liệt kê có thể là máy chủ không được sử dụng bởi các gói khác. Giao thức Internet (Internet Protocol) không đòi hỏi rằng các gói tin giữa hai máy cùng một tuyến đường. Cũng lưu ý rằng nếu các máy chủ tại số chặng N không trả lời, chặng sẽ được bỏ qua ở đầu ra.

Trên Unix, tiện ích traceroute theo mặc định sử dụng User Datagram Protocol (UDP) datagram [1] với số cổng đích từ 33434 đến 33534. Tiện ích traceroute thường có một tùy chọn để chỉ định sử dụng các yêu cầu ICMP echo (loại 8) thay vào đó, khi sử dụng các tiện ích Windows Tracert. Nếu một mạng có tường lửa và hoạt động cả MS Windows và các hệ thống Unix cùng lúc, cả hai giao thức phải được kích hoạt gửi đến dòng dữ liệu đến thông qua tường lửa.

Ngoài ra, còn có triển khai traceroute sử dụng các gói tin TCP, chẳng hạn như tcptraceroute hoặc lớp thứ tư traceroute. Pathping [2] là một tiện ích được giới thiệu với Windows NT kết hợp chức năng ping và traceroute.[3] MTR [4] là một phiên bản nâng cao của traceroute ICMP có sẵn giống như Unix và các hệ thống Windows. Tất cả thực thi của traceroute dựa trên ICMP (loại 11) gói tin được gửi đến người khởi tạo.

Việc triển khai traceroute cùng với Linux, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, và Mac OS X bao gồm một tùy chọn để dùng các gói tin ICMP Echo (-I) hoặc giao thức nào tùy ý (-P) như UDP, TCP hay ICMP.

Kết quả hiển thị trên màn hình sau khi dùng lệnh traceroute trong hệ điều hành Linux đến máy chủ Wikipedia(wikipedia.org)

Tài liệu tham khảo

WikiPedia: Traceroute http://whatismyip.cc/online-traceroute/ http://linux.about.com/library/cmd/blcmdl8_tracero... http://www.host-tracker.com/InstantCheck/Create http://www.inetdaemon.com/tutorials/troubleshootin... http://www.linuxplanet.com/linuxplanet/tutorials/5... http://www.loriotpro.com/Products/On-line_Document... http://technet.microsoft.com/en-us/library/bb49101... http://technet.microsoft.com/en-us/library/cc78736... http://www.microsoft.com/resources/documentation/w... http://oreilly.com/catalog/nettroubletools/chapter...